// #include "content-base.h"
// 
// #define recommendFileNum 5
// #define userNum 5551
// #define fileNum 16980
// #define K 50
// 
// struct filescore
// {
// 	int filename;
// 	double sorce;
// 	string ssorce;
// };
// 
// string parseResult(string str)
// {
// 	string result = "";
// 	int len = str.length();
// 	int fisrtSemicolon = str.find(';');
// 	result = str.substr(fisrtSemicolon+1, len-fisrtSemicolon-1);
// 	return result;
// }
// int comp( const void * p, const void * q) 
// { 
// 	double a = (( filescore * ) p)->sorce;
// 	double b = (( filescore * ) q)->sorce;
// 	if(a > b)
// 		return -1;
// 	else if(a<b)
// 		return 1;
// 	else
// 		return 0;
// }
// string intToString(int a)
// {
// 	string result = "";
// 	string temp = "";
// 	if(a == 0)
// 		return "0";
// 	while(a > 0)
// 	{
// 		temp = ((a%10)+'0');
// 		temp +=result;
// 		result = temp;
// 		a /= 10;
// 	}
// 	return result;
// }
// string doubleToString(double a)
// {
// 	string result = "";
// 	string temp = "";
// 	if(abs(a)<0.000001)
// 		return "0";
// 	a = a * 1000000;
// 	int intTemp = (int)a;
// 	temp = intToString(intTemp);
// 	int len = temp.length();
// 	if(len>6)
// 	{
// 		result = temp.substr(0,len-6);
// 		result+=".";
// 		result+=temp.substr(len-6,6);
// 	}
// 	else
// 	{
// 		result+="0.";
// 		for(int i = 6-len; i >= 1; i--)
// 		{
// 			result+="0";
// 		}
// 		result += temp;
// 	}
// 	return result;
// }
// string parseSorce(string str)
// {
// 	int len = str.length();
// 	string sResult = "";
// 	int scoreNum = 0;
// 	if(len == 0)
// 		return sResult;
// 	for(int i = 0; i < len; i++)
// 	{
// 		if(str[i]==',')
// 			scoreNum++;
// 	}
// 	scoreNum++;
// 	filescore* newScore = new filescore[scoreNum];
// 	int lastComma = 0;
// 	int comma = 0;
// 	int colon = 0;
// 	int k = 0;
// 	for(int i = 1; i < len; i++)
// 	{
// 		if(str[i]==','||i == len-1)
// 		{
// 			if(i==len-1)
// 				comma = i+1;
// 			else
// 				comma = i;
// 			string oneFile = str.substr(lastComma+1, colon-lastComma-1);
// 			int intoneFile = atoi(oneFile.c_str());
// 			newScore[k].filename = intoneFile;
// 			string oneScore = str.substr(colon+1, comma-colon-1);
// 			double intoneScore = atof(oneScore.c_str());
// 			newScore[k].sorce = intoneScore;
// 			newScore[k].ssorce = oneScore;
// 			k++;
// 			lastComma = comma;
// 		}
// 		if(str[i]==':')
// 		{
// 			colon = i;
// 		}
// 	}
// 	qsort(newScore, k, sizeof(filescore), comp);
// 	double maxSorce = newScore[0].sorce;
// 	for(int i = 0; i < k; i ++)
// 	{
// 		newScore[i].sorce = newScore[i].sorce/maxSorce;
// 		newScore[i].ssorce = doubleToString(newScore[i].sorce);
// 	}
// 	for(int i = 0; i < k; i++)
// 	{
// 		sResult+=intToString(newScore[i].filename);
// 		sResult+=":";
// 		sResult+=newScore[i].ssorce;
// 		sResult+="\\\n";
// 	}
// 	delete []newScore;
// 	return sResult;
// }
// int main()
// {
// 	string RFileName1 = "run\\result50.txt";
// 	string RFileName2 = "run\\filesorce50.txt";
// 	string WFileName1 = "run\\result.txt";
// 	string WFileName2 = "run\\filesorce1.txt";
// 	string WFileName3 = "run\\filesorce.txt";
// 
// 	ifstream resultReader(RFileName1);
// 	ifstream scoreReader(RFileName2);
// 	ofstream resultWriter(WFileName1);
// 	ofstream scoreWriter(WFileName2);
// 
// 	string line;
// 	bool isFirstline = true;
// 	while(!resultReader.eof())
// 	{
// 		getline(resultReader, line);
// 		if(isFirstline)
// 			isFirstline = false;
// 		else
// 			line = parseResult(line);
// 		resultWriter<<line<<endl;
// 	}
// 	resultWriter.close();
// 	resultReader.close();
// 
// 	string temp;
// 	bool isFirstUser = true;
// 	line.clear();
// 	while(!scoreReader.eof())
// 	{
// 		getline(scoreReader, temp);
// 		if(temp.find("user")!=string::npos)
// 		{
// 			if(isFirstUser)
// 			{
// 				scoreWriter<<temp<<endl;
// 				isFirstUser = false;
// 			}
// 			else
// 			{
// 				string lineResult = parseSorce(line);
// 				scoreWriter<<lineResult;
// 				line.clear();
// 				scoreWriter<<temp<<endl;
// 			}
// 		}
// 		else
// 		{
// 			line += ",";
// 			line += temp;
// 		}
// 	}
// 
// 	string llineResult = parseSorce(line);
// 	scoreWriter<<llineResult;
// 	line.clear();
// 	scoreWriter<<temp<<endl;
// 
// 
// 	scoreReader.close();
// 	scoreWriter.close();
// 
// 	ifstream scoreReader2(WFileName2);
// 	ofstream scoreWriter2(WFileName3);
// 	string line2;
// 	while(!scoreReader2.eof())
// 	{
// 		getline(scoreReader2, line2);
// 		int len = line2.length();
// 		if(len<1)
// 			continue;
// 		if(line2[len-1]=='\\')
// 		{
// 			line2=line2.substr(0,len-1);
// 		}
// 		scoreWriter2<<line2<<endl;
// 	}
// 	scoreReader2.close();
// 	scoreWriter2.close();
// 
// 
// 	return 0;
// }